package controllers

import (
	"fmt"
	"github.com/beego/beego/v2/adapter/orm"
	"lqbcmsbeego/models"
	"time"
)

// UserController struct
type UserController struct {
	baseController
}

type Repay struct {
	Code  uint64 `json:"code"`
	Message string `json:"message"`
}

func init() {
	//orm.RegisterDriver("mysql", orm.DRMySQL)

	// 映射model数据
	//orm.RegisterModel(new(User))

	// 设置数据库基本信息，相当于连接数据库
	//参数1：别名；参数2：所支持的数据库类型；参数3：数据库账号：密码@tcp（IP:端口号）/数据库名称？编码格式
	//orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&loc=Local")
}


// Index 用户等级 列表页
func (this *UserController) Index() {
	//orm对象)
	Orm := orm.NewOrm()
	//结构体对象

	//插入
	tiker := time.NewTicker(time.Second)
	for i := 0; i < 10; i++ {
		oc := "内容"
		nc := fmt.Sprintf("%s%d", oc, i)

		user := models.User{}

		//结构体复制
		user.Name = "chenshisan"
		user.Content = nc
		_,err := Orm.Insert(&user)
		if err != nil{
			//beego.Info("插入失败",err)
			this.ErrorJson(1,err.Error(),1)
		}

		<-tiker.C
	}




	this.SuccessJson("插入成功")
	return
}

func (this *UserController) Test() {

	o := orm.NewOrm()
	user := models.User{}
	user.Name = "slene2"

	id ,err := o.Insert(&user)
	if err != nil{
		//beego.Info("插入失败",err)
		this.ErrorJson(1,err.Error(),1)
	}else{
		fmt.Println(id)
	}

	//fmt.Println(o.Insert(&user))

	user.Name = "Your"
	fmt.Println(o.Update(&user))

	user1 := models.User{Id: 1}
	err1 := o.Read(&user1)
	if err1 == orm.ErrNoRows {
		fmt.Println("查询不到")
	} else if err1 == orm.ErrMissPK {
		fmt.Println("找不到主键")
	} else {
		fmt.Println(user1.Id, user1.Name)
	}

	//fmt.Println(o.Delete(&user))
	this.SuccessJson("插入成功")
}